// const { ColorGradient } = require("XrFrame/components/particle/gradient");

// home/pages/article/article.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    pageNum: 1,
    dataList: [],
    pageSize: 10,
    totalPageCount: 0
  },

  toeList(e){
    const id = e.currentTarget.dataset.id;
    console.log(id);
    wx.navigateTo({
      url: `/index/pages/evaluationList/evaluationList?id=${id}`,
    })
  },
  
  //发送请求的函数
  // 修改 getData 函数
  getData() {
    wx.showLoading({ title: '数据加载中...' });
    wx.request({
      url: 'http://localhost:8080/psyknoSort/pages',
      data: {
        pageNum: this.data.pageNum,
        pageSize: this.data.pageSize
      },
      method: 'GET',
      success: async (resp) => {
        console.log('完整响应:', resp);
        console.log('数据列表:', resp.data.data.list);
        
        const list = resp.data.data.list || [];
        
        // 为每个分类获取数量
        const updatedList = [];
        for (let item of list) {
          console.log('处理分类:', item.sortName);
          try {
            const count = await this.getCountBySortName(item.id);
            console.log('获取到的数量:', count);
            updatedList.push({
              ...item,
              totalCount: count
            });
          } catch (error) {
            console.error('获取数量失败:', error);
            updatedList.push({
              ...item,
              totalCount: 0
            });
          }
        }
        
        console.log('最终数据:', updatedList);
        
        this.setData({
          dataList: this.data.dataList.concat(updatedList),
          totalPageCount: resp.data.data.totalPageCount
        });
      },
      complete: () => {
        wx.hideLoading();
        wx.stopPullDownRefresh();
      }
    });
  },

  // 获取分类数量的函数
  getCountBySortName(sortName) {
    return new Promise((resolve, reject) => {
      console.log('请求数量接口，参数:', sortName);
      wx.request({
        url: 'http://localhost:8080/psyknoTest/countBySortName',
        data: {
          sortName: sortName
        },
        method: 'GET',
        success: (resp) => {
          console.log('数量接口完整响应:', resp);
          console.log('数量接口数据:', resp.data);
          
          // 尝试不同的数据路径
          let count = 0;
          if (resp.data.code === 200) {
            if (typeof resp.data.data === 'number') {
              count = resp.data.data;
            } else if (resp.data.data && typeof resp.data.data === 'object') {
              count = resp.data.data.count || resp.data.data.totalCount || resp.data.data.total || 0;
            } else {
              count = resp.data.data || 0;
            }
          }
          
          console.log('解析出的数量:', count);
          resolve(count);
        },
        fail: (error) => {
          console.error('数量接口失败:', error);
          resolve(0);
        }
      });
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getData();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      pageNum: 1, //页码
      dataList: [],
      totalPageCount: 0
    })
    this.getData();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    if(this.data.pageNum >= this.data.totalPageCount){
      wx.showToast({
        title: '没有更多数据了',
        icon:'none'
      });
      return;
    }
    this.setData({
      pageNum: this.data.pageNum + 1,
    })
    this.getData();
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})